Cal Poly Pomona
4/25/2025
After taking this workshop, participants should be able to:
Dr. Jung
1. From File, click `new project`
2. Select a new or existing directory depending on your needs
3. Select your folder that will contain your project.
4. Press create project
.Rproj file and others in the Files panelR Scripts file
Rmd file
Quarto file
An YAML header demarcated by three dashes (---) on either end.
---
title: "Module 1 Introduction to R, RStudio, and Qurto"
author: "Jae Jung"
date: '2025-05-12 09:55:43'
format:
html:
toc: true
toc-depth: 4
embed-resources: true
editor: visual
execute:
freeze: auto
---
Text area is all the canvas area within qmd file other than Yaml header and code chun areas.
Quarto uses markdown syntax for text.
You can use text area for typing prose as you would normally do in MS Word or Google Doc.
You can also style it: e.g., Bold; Italicize
Coding Tips
Be Careful: do not code in the text area.
in-line code.ctrl/commnad + /
Hands-on visualization activity if time permitted
| Number of Cars by Drive Train Type | ||
|---|---|---|
| drv | n | percent |
| 4 | 103 | 44.02% |
| f | 106 | 45.30% |
| r | 25 | 10.68% |
Note: The data is from ggplot2 package |
||
Jarrod Griffin
Who here currently has a professional website?
Option A – RStudio GUI
1. File › New Project › Version Control › Git
2. Paste repo URL https://github.com/CCIDM/portfolio-website-template → Create
Option B – Console (no Git required)
install.packages("usethis")
destination_directory <- "~/PortfolioProject" # change if you like
if (!dir.exists(destination_directory)) dir.create(destination_directory, recursive = TRUE)
usethis::create_from_github(
"CCIDM/portfolio-website-template",
destdir = destination_directory,
open = TRUE
)Option C – Download .zip from GitHub link and open .Rproj
A well-organized portfolio website might include the following pages:
Home Page:
An introduction and personal statement.
Marketing Analytics:
A blog-like page showcasing your work in data-driven marketing, including case studies, data visualizations, and performance metrics.
Strategic Marketing:
A dedicated section highlighting your expertise in marketing strategy, brand development, and market positioning.
Resume:
A page featuring your CV, built using Markdown and the Vitae package.
| File / Folder | Purpose |
|---|---|
_quarto.yml |
Global settings, nav & theme (points output-dir: docs) |
theme.scss |
Brand fonts/colours – imported by _quarto.yml
|
index.qmd |
Home page – intro & value statement |
marketing-analytics.qmd |
Data-driven case studies |
strategic-marketing.qmd |
Strategy & positioning projects |
resume.qmd |
CV in markdown and one-page PDF resume |
listings/ |
Five deep-dive project pages (01-…, 02-…, …) |
data/ |
Raw datasets, HTML exports (e.g., SEO report) |
images/ |
Headshots, hero banners, thumbnails |
resume/ |
knitted PDF & vitae Rmd source |
docs/ |
Auto-generated site output ≤ don’t edit by hand |
.Rproj |
RStudio project file for quick open |
portfolio-website/
├── _quarto.yml
├── theme.scss
├── index.qmd
├── marketing-analytics.qmd
├── strategic-marketing.qmd
├── listings/
│ ├── 01-campaign-insights-dashboard.qmd
│ ├── 02-seo-benchmarking-analysis.qmd
│ └── … # 3 more deep dives
├── data/
│ └── TRI SEO Comparison.html
├── images/
│ ├── headshot.jpg
│ └── hero.jpeg
├── resume.qmd
├── resume/
│ ├── YOUR-NAME-Resume.Rmd
│ └── YOUR-NAME-Resume.pdf
└── personal_website.Rproj_quarto.yml – Site Brainproject: type: website # activates site engine
output-dir: docs # GitHub Pages target
website:
title: "YOUR NAME"
navbar:
left:
- index.qmd
- marketing-analytics.qmd
- strategic-marketing.qmd
- resume.qmd
format:
html:
theme: [flatly, theme.scss] # Bootswatch + your SCSS
toc: true # on-page table of contentstheme.scss – Brand Dial$color-primary: #123456;
$color-secondary: #ABCDEF;
$accent-1: #FF7F00;
body { font-family: Arial, sans-serif; color: #121212; }
h1 { color: $color-primary; }
h2 { color: darken($color-secondary,10%); }
a { color: $accent-1; &:hover { text-decoration: underline; } }Swap two colours → whole site re-skins.
index.qmd – Handshake Page---
title: "Hi, I'm Jarrod Griffin" # ①
---
::: {.columns} # ② responsive two-column layout
::: {.column width="30%"}
{width=100% style="border-radius:50%;"}
:::
::: {.column width="70%" style="padding-left:3rem;"}
I'm a **marketing-analytics specialist** who turns complex data
into clear, actionable insight.
:::
:::
## About Me # ③ narrative section
I hold a <span class="highlight">M.S. Digital Marketing</span>
from Cal Poly Pomona.
## Let's Connect # ④ simple CTAs
You can [email me](mailto:jarrod@example.com)
or connect on
[LinkedIn](https://www.linkedin.com/in/jarrodgriffin).Key call-outs
title: feeds the browser tab & SEO meta..columns layout delivers a perfectly balanced headshot + intro without custom CSS.##) appear in the auto table-of-contents (because toc: true in _quarto.yml).Goal: 75-word elevator pitch + friendly photo → instant credibility.
marketing-analytics.qmd – Auto Gallery---
title: "Marketing Analytics"
listing:
contents: listings # scans /listings folder
type: grid # card layout
categories: true # filter bar
sort: "index desc" # newest first
---
Below are selected projects using data to drive results.Drop a new .qmd in listings/ → card appears instantly.
strategic-marketing.qmd – Thought Leadership---
title: "Strategic Marketing"
---
## Brand Audit & Positioning
Short narrative …
**Skills Demonstrated**
- Brand Analysis
- Competitive Benchmarking
- Strategic Communication
<iframe src="data/TRI SEO Comparison.html" width="100%" height="600" style="border:none;"></iframe>Long-form storytelling + embedded proof.
resume.qmd – Recruiter Page---
title: "Résumé"
---
View the PDF résumé [here](resume/Resume.pdf).
# Technical Skills
- **Languages:** R, Python, SQL
- **Web:** HTML, SCSS, Quarto
# Education
| Degree | Year | Institution |
|--------|------|-------------|
| M.S. Digital Marketing | 2023–2025 | Cal Poly Pomona |
### Data Analyst, ACME Corp
*Jan 2022 – Mar 2024*
- Automated KPI dashboards → –20 h/mo manual workHTML for SEO, PDF for ATS(Applicant Tracking System)—best of both worlds.
Why use vitae?
classic, awesomecv, twentyseconds)detailed_entries()) → less manual typingresume.qmd, orpre-render: Rscript build-resume.R in _quarto.yml
Result: an ATS(Applicant Tracking System)-friendly PDF that updates automatically every time you rebuild the site.
| Host | One-liner | Requires Git/GitHub? | Custom Domain | Best For |
|---|---|---|---|---|
| GitHub Pages | quarto publish gh-pages |
✔ GitHub account | ✔ | People already on GitHub |
| Netlify | quarto publish netlify |
✖ (CLI handles upload) | ✔ | Drag-and-drop ease, rollbacks |
| Quarto Pub | quarto publish quarto-pub |
✖ | ✖ (public URL only) | Fastest demo / coursework |
# inside your project root
quarto publish gh-pages
# first run ➜ OAuth to GitHub, auto-creates repo & pageshttps://<user>.github.io/<repo> (custom domain via Settings ▸ Pages).quarto publish netlify # CLI opens browser to auth
# or:
quarto render # build locally
netlify deploy --dir=docs # if you prefer Netlify CLIhttps://<handle>.quarto.pub immediately.www.example.com.USER.github.io (for www).185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153.www or an ALIAS/ANAME for the apex). Copy them to your registrar.